小程序埋点 您所在的位置:网站首页 埋点 事件 小程序埋点

小程序埋点

2023-04-30 04:20| 来源: 网络整理| 查看: 265

目录

1.1 获取SDK1.1.1 1. 从DM Hub的设置中心下载SDK,路径为:设置中心->营销触点->微信小程序1.1.2 2. 添加微信request合法域名1.1.3 3. 获取mini_program_code1.1.4 4. 检测SDK接入状态是否成功1.2 初始化1.3 设置1.3.1 setEnableAutoTrackMiniProgramOpen1.3.2 setEnableAutoTrackMiniProgramView1.3.3 setEnableAutoTrackMiniProgramExit1.3.4 setEnableAutoTrackMiniProgramResign1.4 埋点相关1.5 标识用户1.6 记录事件示例1.7 错误情况(从1.67开始支持):获取SDK1. 从DM Hub的设置中心下载SDK,路径为:设置中心->营销触点->微信小程序

将文件拷贝到小程序项目到utils文件夹中,并在 app.js 第一行加上:

require('./utils/cl_tracker.js');2. 添加微信request合法域名

在微信开发设置,服务器域名的 request 合法域名内,把服务器地址加上. 详情参考微信服务器域名设置

管理员或开发者身份在微信小程序后台→开发→开发者设置中添加服务器地址, 服务器地址通常是cbe.convertlab.com,如果是私有部署,请询问对接人员

3. 获取mini_program_code

管理员或开发者身份在微信小程序后台左边菜单选择“设置”,然后在右边的“基本设置”拉到最底部就会看到“帐号信息”下的“AppID(小程序ID)”。

4. 检测SDK接入状态是否成功

在app.js中的onLaunch方法中键入

this.cl_tracker.track('mini_program_open', '测试小程序', 'mini_program_code');

控制台中的Network中是否有消息(https://cdn.convertlab.com/__utm),并且status为200

初始化

SDK提供了自动上报功能,并且有开关控制是否自动上报,设置自动上报之前,必须征得用户同意,app.js中推荐以下写法:

App({ // ... onLaunch(e) { // 用户已经同意过了 if (wx.getStorageSync('accept_consent')) { this.cl_tracker.push({ targetId: 'mini_program_code', // appId targetName: '测试小程序' // 小程序名称 }) this.sdkSetting() } else { wx.showModal({ title: '是否同意采集', content: '是否同意采集?', success: (res) => { if (res.confirm) { // 同意 wx.setStorageSync('accept_consent', true) this.sdkSetting() } else if (res.cancel) { // 不同意 // } } }) } }, sdkSetting() { // 可以修改是否自动采集以下事件 // mini_program_open 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramOpen(true) // mini_program_view 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramView(true); // mini_program_exit事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramExit(true); // mini_program_resign_active 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramResign(true); } // ... }) 设置

SDK提供了一些设置方法

setEnableAutoTrackMiniProgramOpen

设置 mini_program_open 事件开关,参数 true 开启,false 关闭,默认关闭

示例代码如下:

App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramOpen(true); } }) setEnableAutoTrackMiniProgramView

设置 mini_program_view 事件开关,参数 true 开启,false 关闭,默认关闭

示例代码如下:

App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramView(true); } }) setEnableAutoTrackMiniProgramExit

设置 mini_program_exit 事件开关,参数 true 开启,false 关闭,默认关闭

示例代码如下:

App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramExit(true); } }) setEnableAutoTrackMiniProgramResign

设置 mini_program_resign_active 事件开关,参数 true 开启,false 关闭,默认开启

示例代码如下:

App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramResign(true); } }) 埋点相关

在拿到对应身份后, 应立即设置客户身份,设置对应的身份类型(type)和value, 例如:

var app = getApp(); app.cl_tracker.push({ identityType: 'applet-wechat', //如果identityValue使用unionid,identityType请设置为"wechat-unionid" identityValue: 'oI_M5xC_YlVhrGe5kcYhkzEQM6wM' // identityValue 是用户的open_id或unionid });

身份模型请参考:DM Hub用户身份模型

如果有多个身份: (最多同时支持3个身份), 请分别放在identityType/identityType2/identityType3中

var app = getApp(); app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'oI_M5xC_YlVhrGe5kcYhkzEQM6wM', // identityValue 是用户的open_id identityType2: 'wechat-unionid', identityValue2: 'o7QvZ1TT5oo1F8rNJvchn1GGv5t8', identityType3: 'customer_identity1', identityValue3: 'the_customer_identity_value1', });

如果不是同时拿到所有的身份, 可以分别push identityType/identityType2/identityType3

app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'openId_openId_openId', }); app.cl_tracker.push({ identityType2: 'wechat-unionid', identityValue2: 'unionId_unionId_union_Id', });

注意:同一个identityType应该永远对应一种身份类型。

如果使用

app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'openId_openId_openId', });

又使用

app.cl_tracker.push({ identityType: 'wechat-unionid', identityValue: 'unionId_unionId_union_Id', });

结果是第一个identityType: 'applet-wechat' 是无效的。

标识用户

在没有identityValue之前,事件将一直是匿名的。 当获得用户的openId后,请将它设置在全局参数中

app.cl_tracker.push({ identityType:'applet-wechat', identityValue:'oI_M5xC_YlVhrGe5kcYhkzEQM6wM' });记录事件示例app.cl_tracker.track( 'mini_program_open', { targetName:'小程序名称', targetId:'mini_program_code', ... // 其他参数 }, callback // 事件回调,可以不传 ); 或者: app.cl_tracker.track( 'mini_program_open', '小程序名称', 'mini_program_code', {}, // 其他参数,可以不传 callback // 事件回调,可以不传 );

第一次使用track方法之后,SDK会记住targetName和targetId,后续track方法可以不指定targetName和targetId,比如:

app.cl_tracker.track( 'mini_program_view', { ... // 其他参数 }, callback // 事件回调,可以不传 ); 或者: app.cl_tracker.track( 'mini_program_view', '', '', {}, // 其他参数,可以不传 callback // 事件回调,可以不传 );

若需要记录自定义事件请先在系统中添加。

小程序SDK的接口和身份模型与JS SDK保持一致,关于接口的详细介绍,已经URL参数的格式,可以参考网页JS SDK中的2、3、4章节。

注意:小程序只能使用javascript来提交事件

错误情况(从1.67开始支持):

如果app.cl_tracker为空,请使用以下方式初始化sdk:

在app.js第一行加上var cl_tracker = require('./utils/cl_tracker.js');

在App的onLaunch 和 onShow 事件中主动调用cl_tracker.onAppLaunch 和cl_tracker.onAppShow

注意onAppShow方法需要带参数 该完后的app.js示例代码如下:

var cl_tracker = require('./utils/tracking.js'); App({ onLaunch: function() { cl_tracker.onAppLaunch.apply(this); ... }, onShow: function (params) { cl_tracker.onAppShow(params); ... }, ... });


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有